#define _CRT_SECURE_NO_WARNINGS 1

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>

using namespace std;

//const int N = 110, M = 200010, B = M / 2;
//bool f[N][M];
//int a[N];
//int n, m;
//
//int main()
//{
//    scanf("%d", &n);
//    for (int i = 1; i <= n; i++)
//    {
//        scanf("%d", &a[i]);
//        m += a[i];
//    }
//    f[0][B] = 1;
//    for (int i = 1; i <= n; i++)
//    {
//        for (int j = -m; j <= m; j++)
//        {
//            f[i][j + B] = f[i - 1][j + B];
//            if (j - a[i] >= -m) f[i][j + B] |= f[i - 1][j - a[i] + B];
//            if (j + a[i] <= m) f[i][j + B] |= f[i - 1][j + a[i] + B];
//        }
//    }
//    int res = 0;
//    for (int j = 1; j <= m; j++)
//    {
//        if (f[n][j + B]) res++;
//    }
//    printf("%d", res);
//    return 0;
//}



//const int N = 110;
//char s[N][N];
//int n;
//
//int main()
//{
//    scanf("%d", &n);
//    for (int i = 0; i < n; i++) scanf("%s", s[i]);
//    bool flag1 = false, flag2 = false;
//    for (int i = 1; i < n; i++)
//    {
//        if (strcmp(s[i-1], s[i]) > 0)
//        {
//            flag1 = true;
//            break;
//        }
//    }
//    for (int i = 1; i < n; i++)
//    {
//        if (strlen(s[i-1]) > strlen(s[i]))
//        {
//            flag2 = true;
//            break;
//        }
//    }
//    if (flag1 && flag2 == false)
//        printf("lengths\n");
//    else if (flag1 == false && flag2)
//        printf("lexic ographically\n");
//    else if (flag1 && flag2)
//        printf("none\n");
//    else
//        printf("both\n");
//    return 0;
//}


//typedef long long LL;
//int n;
//
//LL C(int a, int b)
//{
//    LL res = 1;
//    for (int i = a, j = 1; j <= b; i--, j++)
//    {
//        res = res * i / j;
//        if (res > n) return res;
//    }
//    return res;
//}
//
//bool check(int k)
//{
//    LL l = 2 * k, r = max((LL)n, l);
//    while (l < r)
//    {
//        LL mid = l + r >> 1;
//        if (C(mid, k) >= n) r = mid;
//        else l = mid + 1;
//    }
//    if (C(r, k) != n) return false;
//    cout << r*(r + 1) / 2 + k + 1;
//    return true;
//}
//
//int main()
//{
//    scanf("%d", &n);
//    for (int i = 16;; i--)
//    {
//        if (check(i)) break;
//    }
//    return 0;
//}


//int main()
//{
//    int n;
//    int cnt = 0;
//    for (int i = 0; i < 5; i++)
//    {
//        scanf("%d", &n);
//        int fir = n / 1000;
//        int sec = n % 1000 / 100;
//        int thir = n % 100 / 10;
//        int fot = n % 10;
//        printf("%d%d%d%d\n", fir, sec, thir, fot);
//        if (fir == thir && fot == sec + 1) cnt++;
//    }
//    printf("%d", cnt);
//    return 0;
//}

long long n;
long long a, b;

int main()
{
    scanf("%lld%lld%lld", &a, &b, &n);
    long long t = 5 * a + 2 * b;
    long long w = n / t;
    long long l = n % t;
    int i;
    if (l <= 0)
    {
        printf("%d", 7 * w);
        return 0;
    }
    for (i = 1; i <= 7; i++)
    {
        if (i <= 5)
        {
            l -= a;
            if (l <= 0) break;
        }
        else
        {
            l -= b;
            if (l <= 0) break;
        }
    }
    printf("%d", 7 * w + i);
    return 0;
}